/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package occho.model;

import java.util.List;

/**
 *
 * @author Jorge
 */
public class Pregunta {
    
    private int idPregunta;
    private String enunciado;
    /**
     * Solo se usa cuando un alumno ha contestado la pregunta
     */
    private boolean acertada;
    private List<Respuesta> respuestas;
    
    /**
     * Constructor de la clase
     */
    public Pregunta() {
        
    }
    
    /**
     * Constructor de la clase.
     * @param idPregunta
     * @param enunciado
     * @param respuestas
     */
    public Pregunta(int idPregunta, String enunciado, List<Respuesta> respuestas) {
        this.idPregunta = idPregunta;
        this.enunciado = enunciado;
        this.respuestas = respuestas;
    }

    /**
     * @return the idPregunta
     */
    public int getIdPregunta() {
        return idPregunta;
    }

    /**
     * @param idPregunta the idPregunta to set
     */
    public void setIdPregunta(int idPregunta) {
        this.idPregunta = idPregunta;
    }

    /**
     * @return the enunciado
     */
    public String getEnunciado() {
        return enunciado;
    }

    /**
     * @param enunciado the enunciado to set
     */
    public void setEnunciado(String enunciado) {
        this.enunciado = enunciado;
    }

    /**
     * @return the respuestas
     */
    public List<Respuesta> getRespuestas() {
        return respuestas;
    }

    /**
     * @param respuestas the respuestas to set
     */
    public void setRespuestas(List<Respuesta> respuestas) {
        this.respuestas = respuestas;
    }

    /**
     * @return the acertada
     */
    public boolean isAcertada() {
        return acertada;
    }

    /**
     * @param acertada the acertada to set
     */
    public void setAcertada(boolean acertada) {
        this.acertada = acertada;
    }
    
    /**
     * Devuelve el numero de respuestas.
     * @return int
     */
    public int getNumRespuestas() {
        return respuestas.size();
    }
    
    /**
     * Comprueba si contiene una respuetsa correcta
     * @return boolean
     */
    public boolean tieneRespuestaCorrecta() {
        for (Respuesta r : respuestas) {
            if (r.isEsCorrecta())
                return true;
        }
        return false;
    }
    
    @Override
    public String toString(){
        return this.enunciado;
    }
    
    //Devuelve el indice del array de la respuesta correcta
    /**
     * Devuelve el indice de la respuesta correcta.
     * @return int
     */
    public int getRespuestaCorrecta(){
        int dev=0;
        for(int i=0; i<this.respuestas.size(); i++){
            if(this.respuestas.get(i).isEsCorrecta()) dev=i; 
        }
        return dev;
    }
}
